<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  

  
  <title>git使用参考 | 姚根深的博客</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="description" content="模拟使用场景操作假设今天工作已经完成了 领导要检查我的代码不可能直接抱着电脑过去吧！我需要将写好的代码通过Git提交到某个服务器上去保存所以需要使用Git做一些基本控制！  我突然发现我在注释里写了项目经理的坏话 忘删了还不小心add了 完蛋了！其实不用慌 可以通过git的相关指令还原到上次提交前的版本当然 如果已经提交了 emmmm… 删库跑路吧！通过git log日志信息 可以强制返回到任意想">
<meta property="og:type" content="article">
<meta property="og:title" content="git使用参考">
<meta property="og:url" content="https://cnwik.gitee.io/blog/2021/10/07/git%E4%BD%BF%E7%94%A8%E5%8F%82%E8%80%83/index.html">
<meta property="og:site_name" content="姚根深的博客">
<meta property="og:description" content="模拟使用场景操作假设今天工作已经完成了 领导要检查我的代码不可能直接抱着电脑过去吧！我需要将写好的代码通过Git提交到某个服务器上去保存所以需要使用Git做一些基本控制！  我突然发现我在注释里写了项目经理的坏话 忘删了还不小心add了 完蛋了！其实不用慌 可以通过git的相关指令还原到上次提交前的版本当然 如果已经提交了 emmmm… 删库跑路吧！通过git log日志信息 可以强制返回到任意想">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2021-10-07T02:22:25.000Z">
<meta property="article:modified_time" content="2021-10-07T02:32:11.449Z">
<meta property="article:author" content="姚根深">
<meta property="article:tag" content="JAVA javascript vue react css html js blog 博客 姚根深 程序员 职业 职场 考试 疑难 问题 参考">
<meta name="twitter:card" content="summary">
  
    <link rel="alternate" href="/blog/atom.xml" title="姚根深的博客" type="application/atom+xml">
  
  
    <link rel="icon" href="/favicon.png">
  
  
    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
  
  
<link rel="stylesheet" href="/blog/css/style.css">

<meta name="generator" content="Hexo 5.4.0"></head>

<body>
  <div id="container">
    <div id="wrap">
      <header id="header">
  <div id="banner"></div>
  <div id="header-outer" class="outer">
    <div id="header-title" class="inner">
      <h1 id="logo-wrap">
        <a href="/blog/" id="logo">姚根深的博客</a>
      </h1>
      
    </div>
    <div id="header-inner" class="inner">
      <nav id="main-nav">
        <a id="main-nav-toggle" class="nav-icon"></a>
        
          <a class="main-nav-link" href="/blog/">Home</a>
        
          <a class="main-nav-link" href="/blog/archives">Archives</a>
        
      </nav>
      <nav id="sub-nav">
        
          <a id="nav-rss-link" class="nav-icon" href="/blog/atom.xml" title="RSS Feed"></a>
        
        <a id="nav-search-btn" class="nav-icon" title="搜索"></a>
      </nav>
      <div id="search-form-wrap">
        <form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="https://cnwik.gitee.io/blog"></form>
      </div>
    </div>
  </div>
</header>
      <div class="outer">
        <section id="main"><article id="post-git使用参考" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/blog/2021/10/07/git%E4%BD%BF%E7%94%A8%E5%8F%82%E8%80%83/" class="article-date">
  <time datetime="2021-10-07T02:22:25.000Z" itemprop="datePublished">2021-10-07</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 class="article-title" itemprop="name">
      git使用参考
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h3 id="模拟使用场景操作"><a href="#模拟使用场景操作" class="headerlink" title="模拟使用场景操作"></a>模拟使用场景操作</h3><p>假设今天工作已经完成了 领导要检查我的代码<br>不可能直接抱着电脑过去吧！<br>我需要将写好的代码通过Git提交到某个服务器上去保存<br>所以需要使用Git做一些基本控制！</p>
<!-- 产品经理是个大傻瓜！ -->
<p>我突然发现我在注释里写了项目经理的坏话 忘删了<br>还不小心add了 完蛋了！<br>其实不用慌 可以通过git的相关指令还原到上次提交前的版本<br>当然 如果已经提交了 emmmm… 删库跑路吧！<br>通过git log日志信息 可以强制返回到任意想回到的提交版本<br>我们写完一个项目 需要发布 让普通用户可以看到<br>但是在内部还有一套测试代码 即开发预览版<br>这就涉及到分支的问题： 发布的版本一般是主分支的版本 测试版放在其他分支里</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br></pre></td><td class="code"><pre><span class="line">//Git主线的基本操作</span><br><span class="line">git init // git 项目初始化</span><br><span class="line">git status // 查看文件状态（保存或没保存）</span><br><span class="line">git add . // 添加所有文件</span><br><span class="line">git add 文件名 // 添加单个文件</span><br><span class="line">git commit -m &quot;描述信息&quot; // 提交到本地仓库</span><br><span class="line">git restore 文件名 // 还原到上次提交之前</span><br><span class="line">git log // 日志信息 获取版本号</span><br><span class="line">git log 只能查看本次提交之前的版本 有局限性</span><br><span class="line">git reset -- hard 版本号 // 还原到某个版本</span><br><span class="line">git reflog // 比log更强大的日志记录 可用于版本反复横跳</span><br><span class="line">git diff // 查看所有文件的修改记录</span><br><span class="line"></span><br><span class="line">//github远程服务器相关操作</span><br><span class="line">ssh-keygen -t rsa -C &quot;邮箱地址&quot; // 获取秘钥</span><br><span class="line">需要关联远程仓库才能进行操作</span><br><span class="line">git remote add origin 仓库地址</span><br><span class="line">git push origin 分支 // 把文件推入仓库</span><br><span class="line">但是这里会出问题 第一次上传会被拒绝访问</span><br><span class="line">原因是 上传文件之后会把创建仓库时自带的文件覆盖了</span><br><span class="line">解决办法：把那个文件先拉到本地 再一起上传！</span><br><span class="line">git pull origin 分支</span><br><span class="line">这时候又有问题了 也被拒绝了！原因是 之前没有访问过，所以不给你拿！</span><br><span class="line">这就很蛋疼 就像第一次找工作需要工作经验一样 没工作哪来的经验！</span><br><span class="line">解决办法： 活用百度！git 指令系统很庞大 非专业人士不可能去研究这么深入 我们也只是用一下常用的那些指令！</span><br><span class="line">git pull origin 分支 --allow-unrelated-histories // 解除访问限制</span><br><span class="line">git clone 项目地址 // 下载别人的开源代码</span><br><span class="line"></span><br><span class="line">//Git分支的基本操作</span><br><span class="line">git branch // 查看当前分支情况</span><br><span class="line">git branch 分支名 // 新建一个分支</span><br><span class="line">git checkout 分支名 // 切换分支</span><br><span class="line">为什么要用新分支 假如我需要修改这些代码的bug</span><br><span class="line">但是担心直接在主分支里改崩了 那就放到bug分支里去改</span><br><span class="line">这样，就算改崩了也不影响主分支的代码</span><br><span class="line">新建分支的目的就是为了合并分支 不能合并 分支就没有意义了</span><br><span class="line">git checkout a分支</span><br><span class="line">git merge b分支 // 把b分支合并到a</span><br><span class="line">而且各分支的提交记录也互不干扰！</span><br><span class="line">git branch -d 分支名 // 删除分支</span><br><span class="line">完成工作的时候 需要将本地分支与远程分支同步</span><br><span class="line">git push origin 远程分支：对应的本地分支</span><br><span class="line">但是！ 实际工作中是没有权限操作主分支和dev分支的</span><br><span class="line">就需要把自己的分支在远程 通过Pull Requests 申请合并到主要分支上去！</span><br><span class="line">git tag v1.01 // 创建分支版本号 可替代很长的hash值</span><br><span class="line">git tag v1.00 某个版本hash值// 给指定版本添加版本号</span><br><span class="line">git show 创建的版本号 // 查看指定版本的diff信息</span><br><span class="line">git tag -a 版本号 -m &quot;日志描述信息&quot; 日志hash值 // 为某个版本日志增加描述信息</span><br><span class="line">git tag -d 版本号 // 删除某个版本</span><br><span class="line">git log --graph // 让log 信息更美观一点</span><br></pre></td></tr></table></figure>
<h3 id="使用案例"><a href="#使用案例" class="headerlink" title="使用案例"></a>使用案例</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">git init</span><br><span class="line">git remote add origin git@gitee.com:cnwik/blog.git</span><br><span class="line">//这个是删除</span><br><span class="line">git remote rm origin</span><br><span class="line">git pull orgin master</span><br><span class="line"></span><br><span class="line">git add .</span><br><span class="line">git commit -m &#x27;版本&#x27;</span><br><span class="line">git push orgin master</span><br><span class="line"></span><br></pre></td></tr></table></figure>
<h3 id="小结"><a href="#小结" class="headerlink" title="小结"></a>小结</h3><p>gitee使用中建议使用ssh密钥进行配置</p>
<p>git使用参考 姚根深 2021.10.07</p>

      
    </div>
    <footer class="article-footer">
      <a data-url="https://cnwik.gitee.io/blog/2021/10/07/git%E4%BD%BF%E7%94%A8%E5%8F%82%E8%80%83/" data-id="ckugbr0kr0000foil7rif1ryo" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
    
<nav id="article-nav">
  
  
    <a href="/blog/2021/10/07/mysql8-0%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/" id="article-nav-older" class="article-nav-link-wrap">
      <strong class="article-nav-caption">Older</strong>
      <div class="article-nav-title">mysql8.0安装配置</div>
    </a>
  
</nav>

  
</article>

</section>
        
          <aside id="sidebar">
  
    

  
    

  
    
  
    
  <div class="widget-wrap">
    <h3 class="widget-title">归档</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/blog/archives/2021/10/">十月 2021</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">最新文章</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="/blog/2021/10/07/git%E4%BD%BF%E7%94%A8%E5%8F%82%E8%80%83/">git使用参考</a>
          </li>
        
          <li>
            <a href="/blog/2021/10/07/mysql8-0%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/">mysql8.0安装配置</a>
          </li>
        
          <li>
            <a href="/blog/2021/10/02/hello-world/">gitee发布hexo博客具体方法</a>
          </li>
        
      </ul>
    </div>
  </div>

  
</aside>
        
      </div>
      <footer id="footer">
  
  <div class="outer">
    <div id="footer-info" class="inner">
      &copy; 2021 姚根深<br>
      Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
    </div>
  </div>
</footer>
    </div>
    <nav id="mobile-nav">
  
    <a href="/blog/" class="mobile-nav-link">Home</a>
  
    <a href="/blog/archives" class="mobile-nav-link">Archives</a>
  
</nav>
    

<script src="//code.jquery.com/jquery-2.0.3.min.js"></script>


  
<link rel="stylesheet" href="/blog/fancybox/jquery.fancybox.css">

  
<script src="/blog/fancybox/jquery.fancybox.pack.js"></script>




<script src="/blog/js/script.js"></script>




  </div>
</body>
</html>